[네트워크] MAC 주소

IT 엔지니어를 위한 네트워크 입문

Posted by ChaelinJ on May 29, 2021

3.2 MAC 주소

MAC: Media Access Control

  • 2계층(데이터 링크 계층)에서 통신을 위해 네트워크 인터페이스에 할당된 고유 식별자입니다.
  • 네트워크에 접속하는 모든 장비는 MAC 주소라는 물리적인 주소가 있어야 하고 이 주소를 이용해 서로 통신하게 됩니다.

3.2.1 MAC 주소 체계

MAC 주소는 변경할 수 없도록 하드웨어에 고정되어 출하되므로 네트워크 구성 요소마다 다른 주소를 가지고 있습니다.

MAC 주소는 48비트의 16진수 12자리로 표현됩니다.

  • 앞의 24비트: 제조사 코드인 OUI 값
  • 뒤의 24비트: 제조사에서 자체적으로 할당하는 UAA 값

  • OUI: IEEE가 제조사에 할당하는 부분
  • UAA: 각 제조사에서 네트워크 구성 요소에 할당하는 부분

네트워크 카드나 장비를 생산할 때 하드웨어적으로 정해져 나오므로 MAC 주소를 BIA(Burned-In Address)라고도 부릅니다.


유일하지 않은 MAC 주소

흔히 MAC 주소는 유일한 값이라 생각하지만 유일하지 않을 수도 있습니다.

네트워크 장비 제조업체는 자신의 제조업체 코드 내에서 뒤의 24비트의 UAA 값을 할당하는데 실수나 의도적으로 MAC 주소가 중복될 수도 있습니다.

MAC 주소는 동일 네트워크에서만 중복되지 않으면 동작하는 데 문제가 없습니다.

  • 네트워크가 다른 경우 통신 시 라우터의 도움을 받아야 하는데, 라우터에서 다른 네트워크로 넘겨줄 때 출발지와 도착지의 MAC 주소가 변경되므로 네트워크를 넘어가면 기존 출발지와 도착지 MAC 주소를 유지하지 않습니다.

MAC 주소 변경

MAC 주소는 BIA 상태로 NIC에 할당되어 있습니다.

일반적으로 ROM 형태로 고정되어 출하되므로 MIC에 고정된 MAC 주소를 변경하기는 어렵습니다. 하지만 결국 이 MAC 주소도 메모리에 적재되어 구동되므로 여러 가지 방법을 이용해 변경된 MAC 주소로 MIC를 동작시킬 수 있습니다.

보안상의 이유로 MAC 주소 변경을 막아놓은 운영체제도 있지만 손쉽게 명령어나 설정 파일 변경만으로도 MAC 주소를 변경할 수 있는 운연체제도 있습니다.

윈도우의 경우, Briver 상세 정보에서 MAC 주소 변경을 제공하며 쉽게 변경이 가능합니다.

리눅스의 경우 GNU MacChanger나 각 리눅스 배포판의 네트워크 설정 파일에 MAC 주소를 입력하면 변경이 가능합니다.


3.2.2 MAC 주소 동작

NIC은 자신의 MAC 주소를 가지고 있고 전기 신호가 들어오면 2계층에서 데이터 형태로 변환하여 내용을 구분한 후 도착지 MAC 주소를 확인합니다.

  • 만약 도착지 MAC 주소가 자신이 갖고 있는 MAC 주소와 다르면 그 패킷을 폐기합니다.
  • 패킷의 목적지가 자신이거나 브로드캐스트, 멀티캐스트와 같은 그룹 주소이면 처리해야 할 주소로 인지해 패킷 정보를 상위 계층으로 넘겨줍니다.

두 번째의 경우에서 패킷의 목적지가 자신이거나 브로드캐스트인 경우, NIC가 자체적으로 패킷을 처리하는 것이 아니라 OS나 애플리케이션에서 처리해야 하므로 시스템 부하가 작용합니다.

브로드캐스트 스톰의 경우, 브로드캐스트가 회선을 모두 채우게 되는데 네트워크에 연결된 모든 단말이 브로드캐스트를 처리하느라 CPU 사용량이 증가합니다.


무차별 모드(Promiscuous Mode)

기본 NIC 동작 방식은 패킷이 자신의 MAC 주소와 일치하지 않는 도착지 주소를 가졌을 경우, 자체적으로 폐기하는 것입니다.

네트워크 상태를 모니터링 하거나 디버그, 분석 용도로 네트워크 전체 패킷을 수집해 분석해야 할 경우, NIC이 정상적으로 동작하면 다른 목적지를 가진 패킷을 분석할 수 없습니다.

다른 목적지를 가진 패킷을 분석하거나 수집해야 할 경우, 무차별 모드로 NIC를 구성합니다.

무차별 모드는 자신의 MAC 주소와 상관없는 패킷이 들어와도 이를 분석할 수 있도록 메모리에 올려 처리할 수 있게 하는 것 입니다.

무차별 모드를 사용하는 대표적인 애플리케이션은 네트워크 패킷 분석 애플리케이션인 와이어샤크(Wireshark)가 있습니다.


MAC 주소를 여러 개 갖는 경우

MAC 주소는 단말에 종속되지 않고 NIC에 종속되므로 단말이 여러 개의 NIC를 갖는다면 MAC 주소도 여러 개를 가질 수 있습니다.

멀티레이어 스위치, 라우터와 같은 복잡한 네트워크 장비는 NIC가 여러 개이고 MAC 주소도 여러 개가 할당됩니다.


MAC 주소로 제조업체 찾기

MAC 주소의 OUI 값을 통해 해당 장비를 생산한 업체를 확인할 수 있습니다.

구글과 같은 검색 사이트에서 MAC 주소만 검색해도 되지만 MAC 주소를 관리하는 IEEE 홈페이지에서 더 정확한 최신 정보를 확인할 수 있습니다.


[IT 엔지니어를 위한 네트워크 입문] 도서를 참조해 공부한 내용입니다.

감사합니다.

Photographs by Chaelin, Unsplash.